// 导入 express 模块
const express = require('express')
// 创建 express 的服务器实例
const app = express()

// app.use(multipartMiddleware)
const joi = require('@hapi/joi')


// // 错误中间件
app.use(function (err, req, res, next) {
  // 数据验证失败
  if (err instanceof joi.ValidationError) return res.send(err)
  // 未知错误
  res.send(err)
})

//设置跨域访问
// app.all("*",function(req,res,next){
  //   //设置允许跨域的域名，*代表允许任意域名跨域
  //   res.header("Access-Control-Allow-Origin","*");
  //   //允许的header类型
  //   res.header("Access-Control-Allow-Headers","content-type");
  //   //跨域允许的请求方式 
  //   res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");
  //   if (req.method.toLowerCase() == 'options')
  //       res.send(200);  //让options尝试请求快速结束
  //   else
  //       next();
  // })
  
const bodyParser = require('body-parser')
app.use(bodyParser.json());//数据JSON类型
app.use(bodyParser.urlencoded({ extended: true }));//解析post请求数据

// 导入 cors 中间件
const cors = require('cors')
// 将 cors 注册为全局中间件
app.use(cors())

// 导入并注册用户路由模块
const userRouter = require('./router/user')
app.use('/api', userRouter)


// // 解析中间件；主要是把application/x-www-form-urlencoded 
// app.use(express.urlencoded({ extended: false }))

// write your code here...

// 调用 app.listen 方法，指定端口号并启动web服务器
app.listen(8181, function () {
  console.log('api server running at localhost:8181')
})